If the user presses the regular commit(submit) button the application will get the same error back. If FORCE is pressed, the custom code will be supplied this information and hence it can avoid additional validations.
When FORCE button is pressed, custom code is still called and utility method can be used by the custom code to differentiate between the regular and forced submits
Following screen shows a snapshot of the unit's placards when FORCE button was pressed:
2009-04-08 12:39:10,628 WARN [http-8280-Processor23 ] [GroovyApi:65] ( ) RdtCustomGroovyImpl: RailOrYardInspectionProgram
2009-04-08 12:39:10,878 WARN [http-8280-Processor23 ] [GroovyApi:65] ( ) RdtCustomGroovyImpl: Rail Inspection Program
2009-04-08 12:39:10,878 WARN [http-8280-Processor23 ] [GroovyApi:65] ( ) RdtCustomGroovyImpl: ========== Unit Seal1:1245PM
2009-04-08 12:39:10,878 WARN [http-8280-Processor23 ] [GroovyApi:65] ( ) RdtCustomGroovyImpl: ========== Unit Placard Mismatch?:true
2009-04-08 12:39:10,878 WARN [http-8280-Processor23 ] [GroovyApi:65] ( ) RdtCustomGroovyImpl: =========== Unit OOG Back:null
2009-04-08 12:39:10,878 WARN [http-8280-Processor23 ] [GroovyApi:65] ( ) RdtCustomGroovyImpl: ======== Unit ISO Code Being Updated: 4200
2009-04-08 12:39:10,878 WARN [http-8280-Processor23 ] [PersistenceUtils:32] ( ) endTransaction: rolling-back:
RESPONSE
status: SEVERE - MessageCollector has 1 message(s)
CAN OVERRIDE: 'cc : Required placards don't match with observed placards.', key=GROOVY_OVERRIDABLE_FAILURE, level=SEVERE
RESPONSE
2009-04-08 12:42:05,738 WARN [http-8280-Processor24 ] [GroovyApi:65] ( ) RdtCustomGroovyImpl: skipping groovy validations as override flag is set